// 一、将下面异步代码使用promise的方式改进
// setTimeout(() => {
//   const a = 'hello';
//   setTimeout(() => {
//     const b = 'lagou';
//     setTimeout(() => {
//       const c = 'I LOVE U';
//       console.log(a + b + c);
//     }, 10);
//   }, 10);
// }, 10);

function P(words) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(words);
    }, 10);
  })
}

P('hello').then(val => {
  return P(val + ' lagou');
}).then(val => {
  console.log(2)
  return P(val + ' I ♥ U');
}).then(val => {
  console.log(val);
});